/**
 ****************************************************************************************************
 * @file        lv_mainstart.h
 * @author      正点原子团队(ALIENTEK)
 * @version     V1.0
 * @date        2024-06-25
 * @brief       LVGL lv_keyboard(键盘) 实验
 * @license     Copyright (c) 2020-2032, 广州市星翼电子科技有限公司
 ****************************************************************************************************
 * @attention
 *
 * 实验平台:正点原子 ESP32S3 BOX 开发板
 * 在线视频:www.yuanzige.com
 * 技术论坛:www.openedv.com
 * 公司网址:www.alientek.com
 * 购买地址:openedv.taobao.com
 *
 ****************************************************************************************************
 */
 
#ifndef __LV_MAINSTART_H
#define __LV_MAINSTART_H

#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/queue.h"

// 1. 定义消息队列和数据结构
#define QUEUE_LENGTH 10
#define ITEM_SIZE sizeof(hid_key_event_t)

typedef struct {
    uint8_t special_mask;
    uint8_t key_code;
    int8_t key_state; // true:按下, false:释放
} hid_key_event_t;

extern QueueHandle_t hid_key_queue;
extern void update_ble_status(bool connected);
/* 函数声明 */
void lv_mainstart(void);    /* LVGL演示 */

#endif
